package com.elitel.frame.main.dao.ext;

import java.util.List;

import com.elitel.frame.main.entity.BaseFieldaddons;
import com.elitel.frame.main.entity.ext.BaseFieldaddonsExt;
import com.elitel.frame.main.entity.vo.PageRequestVo;
import org.apache.ibatis.annotations.Param;

/**
 * @Description 扩展元数据配置-表单配置mapper
 * @author guoyanfei
 */
public interface ExtBaseFieldaddonsMapper {
	/**
     *@Description 通过表标识查询表单配置mapper
     * @param dtconfigid(表标识)
     * @return List<BaseFieldaddons>(表单配置集合)
     * @author guoyanfei
     */
	List<BaseFieldaddons> getBaseFieldaddonsBydtconfig(String dtconfigid);
	
	/**
     *@Description 通过表标识查询基本表附加属性信息包括字段名称和中文名称mapper(以显示列配置)
     * @param dtconfigid(表标识)
     * @return List<BaseFieldaddonsExt>(扩展基本表附加属性信息置集合)
     * @author guoyanfei
     */
	List<BaseFieldaddonsExt> getBaseFieldaddonsByPage(String dtconfigid);

	// here is provider columnAlias for preivew page
	List<BaseFieldaddonsExt> getShowFieldListForPageViewByServiceId(String serviceId);


	/**
     *@Description 通过表标识查询基本表附加属性信息包括字段名称和中文名称mapper(以显示列配置)
     * @param dtconfigid(表标识)
     * @return List<BaseFieldaddonsExt>(扩展基本表附加属性信息置集合)
     * @author guoyanfei
     */
	List<BaseFieldaddonsExt> getBaseFieldaddonsByPageOrder(String dtconfigid);
	
	/**
     *@Description 通过表标识删除其显示字段
     * @param dtconfigid(表标识)
     * @return 删除结果
     * @author guoyanfei
     */
	Integer deleteBaseFieldaddonsBydtconfig(String dtconfigid);
	
	/**
	 * @description 通过表标识和配置表别名删除视图显示字段
	 * @param dtconfigid(表标识)
	 * @param altername(配置表别名)
	 * @return 删除结果
	 * @author guoyanfei
	 * @date 2017/12/29
	 */
	Integer deleteBaseFieldaddonsBydtconfigandaltername(@Param("dtconfigid") String dtconfigid, @Param("altername") String altername);
	
	/**
	 * @Description 通过FieldId和dtconfigid查询基本表附加属性
	 * @param fieldId
	 * @return BaseFieldaddons集合
	 * @author guoyanfei
	 */
	List<BaseFieldaddons> getBaseFieldaddonsByFieldId(@Param("fieldId") String fieldId, @Param("dtconfigid") String dtconfigid);
	
}
